<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
  <meta name="generator" content="HTML Tidy, see www.w3.org" />
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  
  <title>Engine Requirements Overview</title><link rel="StyleSheet" href="style.css" type="text/css" media="screen" /><!-- Modified by Josh Mueller, 2006-5-5, add index, and fix spelling errors --></head>

<body>
<center>
<table style="width: 1018px; height: 3271px;" border="1" bordercolor="gray" cellpadding="10" cellspacing="0">
  <tbody>
    <tr>
      <td colspan="2" align="left" bgcolor="#dfdfdf" width="100%">
      <h1>Engine Requirements Overview</h1>
      </td>
    </tr>
    <tr>
      <td align="left" valign="top" width="20%">
      <ul>
        <li> <a href="#fantasy">The Fantasy Game</a>
          <ul>
            <li><a href="#levels">Levels and Experience</a></li>
            <li><a href="#classes">Character Classes</a></li>
            <li><a href="#wrap">Wrapping Up</a></li>
          </ul>
        </li>
        <li> <a href="#heroic">The Heroic Game</a>
          <ul>
            <li><a href="#goals">Story Lines</a></li>
            <li><a href="#interaction">Player Interaction</a></li>
          </ul>
        </li>
        <li><a href="#tech">The Tech Game</a></li><ul><li><a href="#Basics_of_characters">Basics of characters</a></li><li><a href="#Tech_Rules">Tech Rules</a></li><li><a href="#Space">Space</a></li><li><a href="#Auto-Generated_Planets">Auto-Generated Planets</a></li><li><a href="#Combat">Combat</a></li><li><a href="#Flying">Flying</a></li></ul>
        <li><a href="#thoughts">Final Thoughts</a></li>
      </ul>
      </td>
      <td align="left" valign="top">
      <h2><a name="fantasy">The Fantasy Game</a></h2>
      <p>The fantasy engine moderates a game about the accumulation of
personal Power by the player for his or her game character. Personal
power is typically measured by combat prowess, but can also be measured
by the breadth of skills the player accumulates. Since skills are
usually intended to enhance the players prowess in combat, it becomes
evident that, ultimately, combat prowess is the measure of the power of
the player.</p>
      <p>Combat prowess involves the ability to hit foes in combat
(attack), the ability to damage foes which are hit, the ability to
avoid being hit by foes in combat (armor), and the ability to withstand
damage done by foes when hit. Maximizing these abilities is done
primarily through items of armor, items of weapons, armoring skills,
damaging skills, and improvement of vital statistics such as health,
strength, dexterity, and other attributes important to both skills and
the long-run development of other vital statistics.</p>
      <h3><a name="levels">Levels and Experience</a></h3>
      <p>The fantasy players power will tend to remain static for a
period equal to their time at a given numeric Level of achievement.
Levels are, therefore, a fair measure of the power of a player. When
levels are gained or lost, however, power will tend to rise and fall
respectively. This is due primarily to the fact that the reward of
gaining in the numeric level of achievement will always take the form
of new skills or attributes which contribute to the combat prowess, and
therefore the power, of the player. The player who gains in levels will
be instantly granted a greater ability to withstand damage done by
foes, greater access to skills, a greater ability to use their existing
skills, and a greater ability to hit foes in combat. An advanced level
also opens up the player to the availability of more powerful items of
armor and weaponry. Players will also, from time to time, gain new
skills automatically by advancing in level. Lastly, gaining a level
will grant the player tokens of credit in the form of Training Points
and Practice Sessions, which can be spent to improve vital statistics,
or to gain new skills All of these things amount to the ability to
improve the players power.</p>
      <p>Higher levels of achievement are awarded in the fantasy game
for the accumulation of a number of Experience Points sufficient to
qualify the player for the higher level. Experience points may be
gained or, usually through carelessness, lost. If a player loses a
sufficient number of experience points, they may also be demoted to a
lower level of achievement.</p>
      <p>Experience points, in turn, are gained in many ways. The most
common way is through the Demonstration of the players combat prowess
over the computer-animated denizens of the world through combat. A
player who defeats a foe in combat will gain experience points
proportional to the foes own power and combat prowess. A player who
defeats a weak foe will not be awarded any experience points, while
defeating an extremely powerful foe will yield the greatest experience
point award. Experience points may also be gained by the exercise of
the players non-combat powers, which is discussed in the next section.</p>
      <p>Either way, experience points, typically gained through the
exercise of combat prowess through actual combat, are applied towards
the gaining of levels. The gain in levels is then accompanied by
greater combat prowess, which allows the player to more easily defeat
foes in combat, and continue the cycle of gaining personal power.</p>
      <h3><a name="classes">Character Classes</a></h3>
      <p>Variety being the spice of life, numerous ways have been
devised to vary the ways, means, and types of ways in which a player
can gain in power. Some players may wish to focus primarily on ensuring
that they can withstand the attacks of other foes, even at the expense
of an improved ability to deal damage. Some players may wish to focus
on developing their power through items of armor and weaponry, even at
the expense of a better set of skills. Still other players may want to
focus entirely on skills as a means of maintaining combat prowess, even
if it means their native combat prowess is quite weak. To accommodate
these differing philosophies of play, the game engine affords players a
choice in several Character Classes</p>
      <p>Character Classes are divided into several basic types, each
of which embodies the different philosophies of accumulating and using
power. The basic types include:</p>
      <ul>
        <li>
          <p>The Fighter, with strong native combat prowess, and broad
access to items of armor and weaponry, but extremely weak in power
through skills.</p>
        </li>
        <li>
          <p>The Mage, who is weakest in native combat ability, and has
almost no access to items of armor and weaponry, but which has the
broadest and most formidable selection of skills for doing damage and
avoiding the attacks of foes.</p>
        </li>
        <li>
          <p>The Cleric, who embodies the defensive philosophy, being
weak in the ability to deal damage, but strong in the ability to
withstand and recover from it. This class also includes evil clerics,
who approach the Mage in their modus operandi, but still harbor the
general clerical weaknesses of low attack ability and stronger armoring
abilities. Evil clerics are most likely to use their skills to
approximate the more direct healing mechanisms enjoyed by the Good
cleric, which also keeps them under the general Clerical umbrella.</p>
        </li>
        <li>
          <p>The Bard embodies the philosophy of strength in numbers.
This class is designed primarily to be attractive to groups of other
classes, meaning that the bard gains in power by joining his strength
with others. The bard is natively weak in both attack and defensive
abilities, but tends to have powerful skills which will tend to enhance
groups of other players in their own abilities.</p>
        </li>
        <li>
          <p>The Druid, like the Bard, embodies the philosophy of
strength through external assistance. In the case of the Bard, this
assistance comes from other players. For the druid, it comes from other
computer-automated creatures in the game, whose assistance the Druid
can solicit through skills. This makes the druid not unlike the evil
cleric in some respects, but without the evil clerics ability to
empower him or herself through items of armor. This is made up for in
the druid class by an enhanced ability to withstand damage dealt by
foes through the druids weak armor.</p>
        </li>
        <li>
          <p>The Thief is both a weak mix of all of the other classes,
with moderate access to items of armor and weaponry and moderate native
defensive abilities, and moderate access to combat skills. The strength
of the Thief, however, comes from unique access to abilities found in
no other classes. Thieves have unique access to monetary wealth, with
which the favors of other players can be gained. They also have unique
access to the areas of the World in which the players live. Unlike the
other classes, a thief has mechanisms to go to places and to get into
things which no other class has. Thieves also have the unique ability
to pass through the world without being detected, which assists in
their ability to access the otherwise inaccessible.</p>
        </li>
      </ul>
      <p>The Character Classes above do not only embody certain
philosophies in the accumulation of power. They also embody certain
fantasy arch-types. These arch-types, made popular by books such as
Lord of the Rings and games such as Dungeons and Dragons, are the basis
for the most popular forms of fantasy role-playing. For this reason,
the immersion of the player into the role that they have selected
becomes an end in itself, and a secondary goal beyond the primary one
of the accumulation of combat prowess. To further this goal, certain
other means of gaining experience points by the use of non-combat
skills which are designed to enhance role-playing, are devised and put
into practice. These alternative means of gaining experience through
role-playing can include things such as a Thief stealing, or a Druid
planting trees and communing with nature, or a Cleric converting
infidels to religion, or a Bard performing for a crowd.</p>
      <h3><a name="wrap">Wrapping Up</a></h3>
      <p>As was stated in the overview, the fantasy game is about the
accumulation of personal power for the players character, usually in
the form of combat prowess. The mechanisms employed, namely Skills,
Levels and Experience Points, as well as the restrictions imposed in
the form of Character Classes, forms the basis of most fantasy Muds.
Alternatives have become to emerge which attempt to remove the
intermediary goals represented by levels, the measure of progress
represented by experience points, and the restrictions and role-playing
benefits of character classes. These alternatives operate in many
different ways, but they all still boil down to the fundamental game
missions of accumulating personal power, usually combat prowess.</p>
      <h2><a name="heroic">The Heroics Game</a></h2>
      <p>The heroics game will essentially be an engine whereby
classless/levelless players take on goals assigned by the system on
behalf of a faction. The goals in turn form part of a grand story that
the player is an active participant vital to its success. &nbsp; The
game only ends when the story does, and even then, may end only with a
hook into the next heroic tale.</p>
      <h3><a name="goals">Story Lines</a></h3>
Each player that plays the heroics game will select a
superhero with the appropriate superpowers, and will select a secret
identify by which they will be known to the public world. &nbsp;
      <h3><a name="interaction">Player Interaction</a></h3>
      <p>Players must play an active role in each others attempts to
pursue their own story lines.&nbsp;</p>
      <p>Players should be set only to go unconscious on death.&nbsp;</p>
      <h2><a name="tech">The Tech Game</a></h2>
      <p>The tech/sci-fi engine will facilitate a game whereby the
players travel to different planets in space ships in order to
accumulate wealth. The wealth can be accumulated through the trading of
goods, the accomplishing of goals or quests, or through piracy. The
wealth is then used to upgrade the players technology; e.g. better
ships, better weapons, better components, which will aid them in more
easily acquiring more wealth.</p><p>The
basic idea is that a player creates a character and engages in some
local trade, training or whatever so they can buy their First
Ship.&nbsp; They then spend all their time either researching better eq
for their ship, gathering resources to sell on needy planets for
credits, buying low/selling high between planets, or comitting piracy
for credits.&nbsp; They can use the credits to upgrade their ships in
order to stay in the game.&nbsp; A diligent player should be able to
"keep up" with a mud-wide automatic progression of technology.&nbsp; A
lax player will be barely able to survive.&nbsp; Thus is born the
viscious Tech cycle -- trying to stay afloat amidst the systems
constant tech progression.&nbsp; Merchants, both on planets, and in
space, are the most important mobs in the game -- players will spend a
lot of their time dealing with one or the other.&nbsp; Only exception
is for those taking the Boring Way Out (research) which is good only
for botters.</p><h3><a name="Basics_of_characters"></a>Basics of characters</h3><ul><li>Do not gain levels</li><li>There is a skill tree, but it will cost you bigtime to pursue it (Skills are purchased -- what few there are)</li><li>Players
are relatively weak 1st level (but they don't know that), 20 hit point
poopies.&nbsp; They have NO mana.&nbsp; Movement is mostly unimportant.</li><li>Personal Shields and Guns may be purchased, and researched, and follow the Tech rules. (see below)</li><li>Players
can qualify for most gathering common skills, and various expertises
related to their skills.&nbsp; All are costly to pursue.</li><li>Some
skill cost may be paid in RESEARCH, which would require specialized
instrumentation/equipment.&nbsp; (IE, to advance BEAM WEAPONS, you may
spend lots of money at school, or buy/build an ADVANCED BEAM WEAPON
EXPERIMENT mkIV, and shoot it at a bunch of targets/drones until you
get enough research points to advance it.)&nbsp; This can encourage
exploration, politics, commerce and combat.</li><li>The emphasis is on
what you have, not what you can do or who you are.&nbsp; (Individual
characters should still be important to some extent, so that a n00b
joining the game and receiving 1 zillion from his rich friend will
still have something left in the game to do.&nbsp; EVE limited this
with their skill system, so that you might afford a big ship, but you
couldn’t pilot it.)</li><li>Various attributes and skills will allow
cheaper production of goods, which will encourage specializing in a
field so you can sell to other characters to make more money.&nbsp; We
must be careful to balance out the other attributes with CHA to make
sure everyone in the TECH game doesn’t *have* to max out CHA to be
successful.</li><li>Players can purchase ships, and equip them with
computers, shields, phasers, software, sensors, cloaking, etc, etc,
etc.. which also folllow tech rules. (see below)</li><li>Character
respawning (Cloning) after death would require characters to rebuild
any ship they lost (or recapture it, if it was boarded), but loaner
ships should be available in the unfortunate event of a player being
unable to recoup their losses.&nbsp; Loaner ships should never result
in loot upon destruction, to avoid having a player GRIEF others in
hopes of financial gain (or to create a second account and continuously
ram these cheap craft against a juggernaut).</li></ul><h3><a name="Tech_Rules"></a>Tech Rules<br /></h3><ul><li>Tech
Items have opposing Tech Items (Guns oppose Personal Shields, Ship guns
oppose Ship shields, sensors oppose cloaking or interference tech,
targeting computers vs auto-evation software, tracking computers vs
warp field maskers, etc)</li><li>Items have an internal Tech level.</li><li>Items that are 10 levels higher than their opposing items always defeat them.</li><li>Items
have a Manufacturer assigned, which includes name, planet, base
reliability score (chance to fail in use w/o damage), and base
efficiency (% of the median resource consumption, from 50%-150%).</li><li>There is a game-wide Max Tech Level (MTL)</li><li>Every Long Time (mud year?) the Max Tech Level automatically goes up by 1.</li><li>Every
Long Time, when the MTL is increased by 1, all older prices go
down.&nbsp; This will enable a player who joins 20 years into the game
to have some ability to interact with existing Tech, instead of it
being way out of price range.&nbsp; Ideally, the price of an item
should be linked directly to MTL.</li><li>Skills can be used to
research items from tech level Max-3 to Max Tech Level.&nbsp;
Researching to Max should take almost as long as Long Time.</li><li>Shopkeepers sell only items from tech level Max-10 to Max-3.</li><li>Shopkeeper prices are based on Manufactuer, item Type, condition, and Tech level relative to MTL.</li><li>Internal
Item levels are never shown .. their name (Dobacorp Phaser Alpha Mark
3) gives it away, and they will have manufacture date to help as
well.&nbsp; System auto-generates the proper next Model Name.</li><li>Personal
Equipment and Ship Parts do not interact well if they differ greatly in
tech level -- low tech gear is more likely to get damaged when it is
connected/interacting with newer stuff.&nbsp; This encourages players
to upgrade their stuff together/more slowly, or else take on risk.</li></ul><h3>&nbsp;<a name="Space"></a>Space</h3><ul><li>Builders can make planets</li><li>System will generate systems, planets, asteroids to the extent admins allow.</li><li>Space is usually an internal numeric abstraction.&nbsp;&nbsp; Players usually interact with it from inside their ship.</li><li>Players can exit their ships into "space" but can't do much. :)&nbsp; (They can look at all the pretty stars!)</li></ul><h3><a name="Auto-Generated_Planets"></a>Auto-Generated Planets</h3><ul><li>Consist
of less than a dozen rooms -- mostly gatherable-type land, and a
"capital city", "chief living mound", or whatever is appropriate.</li><li>Consist of auto-generated fake inhabitants, with a fake race.</li><li>Always consist of at least one merchant for buying what the local gatherable-type land can produce.&nbsp; </li><li>Merchant buys what his planet can't make.</li><li>Normal
CM pricing rules apply -- more the merchant buys of something, the
lower his price goes.&nbsp; However, shopkeepers auto-consume their
non-stock items to simulate purchases.</li><li>Planets may have hostiles that inhibit gathering.&nbsp; Hostiles have money too though.</li><li>Planets may have hostile ships guarding the planet!</li><li>Great place for auto-generated quests (think STO, but with forethought)</li><li>For
a CONQUEST version of TECH, players could gain control of planets, and
have them generate goods (including ships and troops) to invade other
worlds.&nbsp; TECH CONQUEST will take advantage of the current CONQUEST
engine for domination.&nbsp; In order to invade other areas, it will
require active player participation.</li><li>Auto-Planets should have
fake reputations to go with their fake race.&nbsp; War Mongering should
decrease your reputation with other races (or apply a behavior to you
such that it appears to other races not in your collective that you are
unfriendly).</li></ul><h3><a name="Combat"></a>Combat</h3><ul><li>Ship-ship combat is all that really matters, and that is very slow and deliberate</li><li>Unshielded
players should die on the first or second hit from a hand-held
blaster.&nbsp; Fights amongst shielded players last until one or the
other realizes they are outmatched in tech and flees.</li></ul><h3><a name="Flying"></a>Flying</h3><p>The
"Star Trek" aspect of the game comes mostly from how you interact with
your ship.&nbsp;The example below is meant to show someone who is using
a cheap low end freighter type ship with a single computer station and
mostly manual control software.&nbsp; Better systems and software would
make his life easier.&nbsp; Having a big starship where several players
can each take a station would make the interactions MUCH easier.&nbsp;
Where you see "..." this is a high level description of either what the
server is saying to the player, or what the player understands.&nbsp;
Anything else (including the = character) is a command.&nbsp; "=" is a
shortcut for a command to enter stuff into the computer.&nbsp; Would
players tolerate this level of complexity? I would.&nbsp; It seems very
entertaining from this snap shot.&nbsp; I understand there are a lot of
maintenance aspects, and ship building, buying/trading, exploring that
goes on, but this brief travel/combat example seems to be a very good
pace for a space MUD.</p><p>... player enters their ship, which is docked ...<br /></p><pre>sit computer</pre><p>.. user sits at the computer ..<br /></p><pre>activate computer</pre><p>.. this allows player to get an automatic "look" message from the computer whenever the display changes ...<br /></p><pre>read computer</pre><p>..
would show what the computer screen has on it -- probably a top level
menu based on what the user has installed in their ship/computer...<br /></p><pre>= engineering</pre><p>.. a menu entry, takes the user to enginneering menu, which will also show a summary of status and fuel<br /></p><pre>= activate engine</pre><p>... system shows some stuff as generator starts up.<br /></p><pre>= &lt;</pre><p>..
goes back one menu level to the top level menu.. they could have also
just entered "top" .. these navigation commands will be listed on all
screens.<br /></p><pre>= navigation</pre><p>.. enters the navigation subsystem<br /></p><pre>= altitude 25</pre><p>.. automatically sets target to current planet, since altitude is only relevant to nearest planet..<br />.. system tells them about how their ship starts to hover ..<br />.. at 25 miles, they might be getting atmospheric sheer ..<br /></p><pre>= course 180.180</pre><pre>= speed 20</pre><p>.. player can turn their ship with the sheer and start moving; the sheer decreases ..<br /></p><pre>= autopilot orbit</pre><p>.. this is a fancy software feature... an autopilot type command to increase their altitute to orbit level<br />..automatically raising altitude to 35m .. better .. they are probably in space now<br /></p><pre>= report planets</pre><p>.. list the planets/systems they have in their navigation map<br /></p><pre>= course jupiter</pre><p>.. is it in the list?&nbsp; yes, then set the course and the new target ..<br />.. distance also automatically SET -- another autonavigation feature so that speed approaches 0 relative to target <br /></p><pre>= speed warp 3</pre><p>.. thrusters disengaged, warp engines engaged ..<br />.. tells me eta 1 day!&nbsp; Damn.. but this is my top speed in this piece of crap.<br /></p><pre>= &lt;</pre><pre>= sensors</pre><p>.. another top level menu entry<br />.. starts monitoring long range sensors.<br />.. time goes by..<br />..
sensors screen reports that something detected on long range sensors
..&nbsp; either im approaching it, or it must be approaching me!<br /></p><pre>= &lt;</pre><pre>= navigation</pre><pre>= speed 0</pre><p>.. warp engines disengaged<br />.. thrusters at 0kph<br /></p><pre>= &lt;</pre><pre>= tactical</pre><p>.. our "short range" subsystem<br /></p><pre>= shields 10</pre><pre>= phasers 10</pre><p>.. phasers and shield (especially) start sucking power, but not more than engines produce at speed 0.. <br />.. phasers give a warm up message, perhaps 3-4 ticks and they are ready to fire ..<br />.. tactical screen means we are automatically monitoring short range sensors ..<br />.. time goes by..<br />.. ship approaching from 183.23, 90kph<br /></p><pre>= target ship 1</pre><p>.. changes target from jupiter to one of the objects (called ship 1) in the short range tactical sensor list<br /></p><pre>= fire phasers</pre><p>.. blast blast ..<br />.. phasers warming up again, another 3-4 ticks..<br />.. rumble rumble you're hit..wonder how bad?<br /></p><pre>= &lt;</pre><pre>= navigation</pre><pre>= autopilot evasive alpha</pre><p>.. fancy combat navigation! software knows that one.. direction, distance set, and will change automatically ..<br /></p><pre>= speed impulse 5</pre><p>..
that's going to suck more power, but combined with shields and the
evasive source pattern will decrease our chance of being hit.<br /></p><pre>= &lt;</pre><pre>= tactical</pre><p>.. woot, I see my phasers have warmed up again!<br /></p><pre>= phasers fire</pre><p>.. blast .. blast .. phasers warming up now<br />.. rumble rumble you're hit again..<br /></p><pre>= &lt;</pre><pre>= engineering</pre><pre>= report damage</pre><p>.. shows what's hurt ..<br />.. shields at 45%, not bad<br />.. ouch, generator at 80% -- can't maintain these usage levels any more<br />.. also, transfer coil at 15%<br /></p><pre>= activate&nbsp;battery 2</pre><p>.. that should give us enough kick to get through this!<br />.. now about that transfer coil!<br /></p><pre>stand</pre><pre>open access panel</pre><pre>remove transfer coil</pre><pre>open spare parts box</pre><pre>get transfer coil</pre><pre>shipinstall "2.transfer coil" "access panel"</pre><p>.. using a skill takes a few ticks.. ugh!<br />.. meanwhile feel a rumble, the ships been hit again!<br /></p><pre>sit computer</pre><p>.. as long as im still in the room, im still&nbsp;monitoring the computer, so i would have seen any changes.&nbsp; <br />.. but i can only interact with computer if im sitting at it<br /></p><pre>= tactical</pre><pre>= fire phasers</pre><p>.. blast blast ..<br />.. sensors make new report -- "ship " is no longer listed!<br />.. rubble detected on short range sensors ..<br /></p><pre>= target rubble 1</pre><pre>= fire tractor</pre><p>.. rubble hit by tractor beam!<br /></p><pre>= stop tractor</pre><p>.. rubble pulled into cargo bay ..<br />.. tractor disengaged ..<br /></p><pre>= &lt;</pre><pre>= navigation</pre><pre>= speed 0</pre><pre>= &lt;</pre><pre>= tactical</pre><pre>= shields 1</pre><pre>= phasers 0</pre><p>.. now my poor generator and batteries will stop bleeding!<br /></p><pre>= &lt;</pre><pre>= engineering</pre><pre>= deactivate battery 2</pre><p>... battery
no longer being drawn from.. let it get refilled.&nbsp; main batteries
will refill from generator now that we aren't taxing it so much!<br /></p><pre>= &lt;</pre><pre>= navigation</pre><pre>= course jupiter</pre><pre>= speed warp 1</pre><p>.. can't maintain warp 3 at these power levels.. it would just disengage and there would be damage...<br />.. tells me eta 8 days UGH!<br /></p><pre>= &lt;</pre><pre>= sensors</pre><p>.. watch for a short while<br /></p><pre>stand</pre><pre>south</pre><p>.. lets go see what kind of rubble we got! maybe there's a good transfer coil in there!<br /></p>
      <h2><a name="thoughts">Final Thoughts</a></h2>
      <p>CoffeeMud may seem like an enormous conglomorated mess of
swirling classes and algorithms exploding forever into a void of chaos.
Strangely enough, it was designed that way. There are several design
principles that are followed to make the codebase generally Better.
These principles include Playability, Flexibility, Isolation, and
Integrity.</p>
      <p>Playability is the easiest to explain. A feature does not
remain in the Engine if it is not Fun, or somehow detracts from Fun.
This may sound like a vague rule, since people will disagree on what is
fun. However, it is quite certain that if even the proponents of a
feature agree it does not ultimately make the game more fun, it will
not be included on the feature list. Often this means other
considerations fall away under this rule, with Realism being the most
common. However, in the end, it is never forgotten that CoffeeMud is a
game, not a real-life simulation.</p>
      <p>Flexibility is also easy to understand. Whenever possible, any
feature becomes better if, while having a Common-Case Default behavior,
it also includes the ability to have that behavior altered through
parameters. Sometimes these parameters take the form of "coffeemud.ini"
file entries, or of object parameter strings as in behaviors or
abilities. Sometimes flexibility is accomplished simply by not having a
feature impose itself unless the builders include something in their
worlds to activate it. This last method often has to be tempered
against Integrity, but that is a delicate balance that is preserved in
the end.</p>
      <p>Isolation is a strictly code-base principle. What is means is
that, each class in the code base interacts freely with it's own
methods, freely with the core classes, and freely with the interfaces.
They interact rarely with other classes in the same package, and they
never interact directly with any class outside their package (except,
as mentioned, through public interfaces). This principle has served the
system very well, as it generally means that the functionality of
spells and behaviors, items, or mobs, can all be found within their own
java source. This makes maintenace easier, but it also adds to the
Flexibility of the codebase by making it possible to add and remove
classes with minimal impact to the system.</p>
      <p>Integrity
is a prominant design principle of this codebase.
What it means is that, whenever possible, the codebase requires as
little work as possible by the world designers to bring codebase
features to the players. The codebase contains everything within
itself&nbsp;necessary to implement all of its features. The Common
Skills are a great example of this. A player can build his own armor
because the character class provides armormaking skills, not the
builder. The player can get the materials to make the armor because the
rooms provide the resources, not the builder. Implementing the feature
only requires rooms (which every map will include), and nothing more
for the builder to do to make armorsmithing possible for players.</p>
      </td>
    </tr>
  </tbody>
</table>
</center>
</body></html>